package com.summer.peony.system.pojo;

import java.io.Serializable;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;

import com.fasterxml.jackson.annotation.JsonFormat;

/**
 * @ClassName: SysMenu
 * @Description: TODO(菜单管理实体类)
 * @author: TaoGe
 * @date: 2021年1月6日 下午3:38:45
 * @version: v0.0.1
 */
public class SysMenu implements Serializable {
	/**
	 * @author: TaoGe
	 * @Fields: serialVersionUID:TODO(用一句话描述这个变量表示什么)
	 */
	private static final long serialVersionUID = 1L;

	/**
	 * @author: TaoGe
	 * @Fields: menuId:TODO(菜单id)
	 */
	private Integer menuId;

	/**
	 * @author: TaoGe
	 * @Fields: name:TODO(菜单名称)
	 */
	private String name;

	/**
	 * @author: TaoGe
	 * @Fields: permission:TODO(权限标识)
	 */
	private String permission;

	/**
	 * @author: TaoGe
	 * @Fields: path:TODO(菜单路径)
	 */
	private String path;

	/**
	 * @author: TaoGe
	 * @Fields: url:TODO(菜单URL)
	 */
	private String url;

	/**
	 * @author: TaoGe
	 * @Fields: method:TODO(打开方式（menuItem页签 menuBlank新窗口）)
	 */
	private String method;

	/**
	 * @author: TaoGe
	 * @Fields: parentId:TODO(父类ID)
	 */
	private Integer parentId;

	/**
	 * @author: TaoGe
	 * @Fields: icon:TODO(菜单图标)
	 */
	private String icon;

	/**
	 * @author: TaoGe
	 * @Fields: sort:TODO(显示顺序)
	 */
	private Integer sort;

	/**
	 * @author: TaoGe
	 * @Fields: type:TODO(菜单类型（M目录 C菜单 A按钮）)
	 */
	private String type;

	/**
	 * @author: TaoGe
	 * @Fields: createTime:TODO(创建时间)
	 */
	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
	private Date createTime;

	/**
	 * @author: TaoGe
	 * @Fields: updateTime:TODO(修改时间)
	 */
	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
	private Date updateTime;

	/**
	 * @author: TaoGe
	 * @Fields: delFlag:TODO(0--正常 1--删除)
	 */
	private String delFlag;

	/**
	 * @author: TaoGe
	 * @Fields: children:TODO(子菜单)
	 */
	private List<SysMenu> children = new ArrayList<SysMenu>();

	public List<SysMenu> getChildren() {
		return children;
	}

	public void setChildren(List<SysMenu> children) {
		this.children = children;
	}

	public Integer getMenuId() {
		return menuId;
	}

	public void setMenuId(Integer menuId) {
		this.menuId = menuId;
	}

	public String getName() {
		return name;
	}

	public void setName(String name) {
		this.name = name == null ? null : name.trim();
	}

	public String getPermission() {
		return permission;
	}

	public void setPermission(String permission) {
		this.permission = permission == null ? null : permission.trim();
	}

	public String getPath() {
		return path;
	}

	public void setPath(String path) {
		this.path = path == null ? null : path.trim();
	}

	public String getUrl() {
		return url;
	}

	public void setUrl(String url) {
		this.url = url == null ? null : url.trim();
	}

	public String getMethod() {
		return method;
	}

	public void setMethod(String method) {
		this.method = method == null ? null : method.trim();
	}

	public Integer getParentId() {
		return parentId;
	}

	public void setParentId(Integer parentId) {
		this.parentId = parentId;
	}

	public String getIcon() {
		return icon;
	}

	public void setIcon(String icon) {
		this.icon = icon == null ? null : icon.trim();
	}

	public Integer getSort() {
		return sort;
	}

	public void setSort(Integer sort) {
		this.sort = sort;
	}

	public String getType() {
		return type;
	}

	public void setType(String type) {
		this.type = type == null ? null : type.trim();
	}

	public Date getCreateTime() {
		return createTime;
	}

	public void setCreateTime(Date createTime) {
		this.createTime = createTime;
	}

	public Date getUpdateTime() {
		return updateTime;
	}

	public void setUpdateTime(Date updateTime) {
		this.updateTime = updateTime;
	}

	public String getDelFlag() {
		return delFlag;
	}

	public void setDelFlag(String delFlag) {
		this.delFlag = delFlag == null ? null : delFlag.trim();
	}
}